﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Text;
using System.Data;

using YouHP.IDAL;
using YouHP.Model;

namespace YouHP.IDAL
{
    public interface IPatientTreatment
    {
        // 获取病人针对某种疾病当前使用的治疗列表
        List<TreatmentHistoryInfo> GetUsingTreatmentList(int prId);

        // 获取病人针对某种疾病当前没有使用的治疗列表
        List<TreatmentHistoryInfo> GetNoUsingTreatmentList(int prId);

        // 获取病人针对某种疾病所有治疗历史列表（包括当前正使用以及停止使用的）
        List<TreatmentHistoryInfo> GetAllCurTreatments(int prId);

        // 获取病人针对某种疾病使用某种治疗的历史纪录
        List<TreatmentHistoryInfo> GetTreatmentHistoryList(int pageSize, int pageIndex, int prId, int trId, out int count);

        List<TreatmentHistoryInfo> GetTreatmentHistoryList(int prdId, int trmid);
        // 添加治疗历史
        bool AddTreatmentHistory(TreatmentHistoryInfo info);

        //开始新的治疗历史
        bool StartTreatmentHistory(TreatmentHistoryInfo info);

        // 修改治疗历史
        bool UpdateTreatmentHistory(TreatmentHistoryInfo info);

        // 停止治疗
        bool StopTreatmentHistory(TreatmentHistoryInfo info);

        // 改变剂量
        bool ChangeTreatmentDosage(TreatmentHistoryInfo Info);

        // 删除治疗
        bool DelTreatmentHistory(int prId, int historyId);

        //判断历史记录表中是否已存在病人指定时间对应的记录
        bool CheckTreatmentHistory(int prId, int treatmentId, DateTime actionDate);

        // 获取当前治疗
        TreatmentHistoryInfo GetCurrentTreatment(int prId, int trmId);

        // 获取治疗的某条历史记录
        TreatmentHistoryInfo GetTreatmentHistory(int prId, int historyId);

        //取得某段时间内的所有症状记录历史
        List<TreatmentHistoryInfo> GetTreatmentHistoryList(int prId, DateTime startDate, DateTime endDate);

        // 获得PatientCurrentTreatment表中相关的记录
        List<TreatmentHistoryInfo> GetCurrentTreatmentListByTreatmentId(int treatmentId);
    }
}
